/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.dojotec.biblioteca.jsf.application;

import com.dojotec.biblioteca.jsf.dao.ItemEmprestimoDAO;
import com.dojotec.biblioteca.jsf.domain.ItemEmprestimo;
import com.dojotec.biblioteca.jsf.domain.ItemEmprestimoRepository;
import java.util.List;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;


/**
 *
 * @author igocoelho
 */
public class ItemEmprestimoBean {

    private DataModel itensEmprestimo = null;
    private ItemEmprestimoRepository itemEmprestimo = new ItemEmprestimoDAO();
    private ItemEmprestimo itemEmprestimoPojo = new ItemEmprestimo();
    
    public ItemEmprestimoBean() {
        
    }
    
    public String gotoNovoItemEmprestimo() {
        return "novoItemEmprestimo";
    }       
    
    public String gotoAlteraItemEmprestimo() {
        setItemEmprestimoPojo((ItemEmprestimo)itensEmprestimo.getRowData());
        return "alteraItemEmprestimo";
    }
    
    public String gotoListaItensEmprestimo() {
        return "listaItensEmprestimo";
    }

    public DataModel getItemEmprestimos() {
        return itensEmprestimo;
    }

    public void setItemEmprestimos(DataModel itensEmprestimo) {
        this.itensEmprestimo = itensEmprestimo;
    }

    public ItemEmprestimoRepository getItemEmprestimo() {
        return itemEmprestimo;
    }

    public void setItemEmprestimo(ItemEmprestimoRepository itemEmprestimo) {
        this.itemEmprestimo = itemEmprestimo;
    }

    public ItemEmprestimo getItemEmprestimoPojo() {
        return itemEmprestimoPojo;
    }

    public void setItemEmprestimoPojo(ItemEmprestimo itemEmprestimoPojo) {
        this.itemEmprestimoPojo = itemEmprestimoPojo;
    }
    
    public DataModel getTodosItemEmprestimos() {
        setItemEmprestimos(new ListDataModel(getItemEmprestimo().buscarTodos()));
        return getItemEmprestimos();
    }
    
    public DataModel getItensEmprestimoById() {
        setItemEmprestimos(new ListDataModel(getItemEmprestimo().buscarPorId(itemEmprestimoPojo.getItemEmprestimoPK().getEmprestimoId())));
        return getItemEmprestimos();
    }
    
    public String salvar() {
        try {
            itemEmprestimo.salvar(getItemEmprestimoPojo());
            return gotoListaItensEmprestimo();
        } catch (Exception e) {
            return "failure";
        }
    }
    
    public String atualizar() {
        try {
            itemEmprestimo.atualizar(getItemEmprestimoPojo());
            return gotoListaItensEmprestimo();
        } catch (Exception e) {
            return "failure";
        }    
    }
    
    public String excluir() {
        try {
            setItemEmprestimoPojo((ItemEmprestimo)itensEmprestimo.getRowData());
            itemEmprestimo.excluir(getItemEmprestimoPojo());
            return gotoListaItensEmprestimo();
        } catch (Exception e) {
            return "failure";
        }
    }
    
}
